home *** CD-ROM | disk | FTP | other *** search
/ The Java 3D API Specification (2nd Edition) / The Java 3D API Specification (2nd Edition).iso / programs / examples / Lightwave / README.txt < prev    next >
Text File  |  2000-04-28  |  9KB  |  280 lines

  1.  
  2.  
  3.     Release Notes for the Lightwave 3D Java3D Loader
  4.     ------------------------------------------------
  5.             Updated May 13, 1998
  6.  
  7.  
  8.  
  9. These release notes are intended to document the known working and
  10. non-working features of the loader.  This is important because the loader
  11. implements an important subset of Lightwave functionality, but it definitely
  12. skips many major features of Lightwave files.  Please read these notes
  13. to make sure that the features you need are actually implemented.  Or
  14. if you see differences between Lightwave display of your file and
  15. the Java3D version of that file, take a look at these notes to see
  16. what might not be working properly.
  17.  
  18.  
  19. Testing the Loader
  20. ------------------
  21. The application in this directory (Viewer) is intended to be a very
  22. basic test application for loading/viewing Lightwave 3D models.  To
  23. use the program, type:
  24.     java Viewer <filename>
  25. where <filename> is the name of a valid Lightwave 3D scene file that is
  26. reachable from the current directory.  There is a very basic test file
  27. included in this directory called ballcone.lws.  To load/view that file,
  28. type:
  29.     java Viewer ballcone.lws
  30. Note that Lightwave scene files (*.lws) embed the pathnames to object
  31. files (*.lwo) within them, and that object files have pathnames
  32. to image files (for textures) embedded in them.  Whatever those
  33. pathnames are in those files must be valid for the directory in which
  34. you are running the application that loads the scene file.  For example,
  35. if I was loading in a scene file that referred to an object file 
  36. called "data/object.lwo", then the file "object.lwo" should be located in
  37. a subdirectory of this current directory called "data".
  38.  
  39.  
  40. Summary of Loader
  41. -----------------
  42. The Lw3d loader was intended to implement a major subset of the features in
  43. Lightwave 3D that would be used for realtime 3D animations.  That is, any
  44. features (such as Bones and other high-end rendering
  45. options) which would require significant rendering time were simply
  46. not doable.  These more advanced features are intended to be rendered
  47. off-line, saving each frame separately and later compositing them
  48. together into an animation.  But Java3D is a realtime 3D rendering
  49. system, so these type of animations just do not map into a Java3D viewer
  50. very well.
  51.  
  52. Another category of non-implemented items are those that we simply have not
  53. yet gotten to.  There are a few known features of Lightwave files that
  54. would work well through Java3D but just haven't been implemented in the
  55. loader yet.
  56.  
  57. Although there are a lot of features that are not yet implemented,
  58. the basics of Lightwave 3D functionality (scene creation, animating
  59. objects/lights/cameras, different surface properties) all work pretty
  60. much as expected.  So try it out and let us know non-documented items
  61. that didn't work properly.
  62.  
  63.  
  64. Details of Non-Implemented Features
  65. -----------------------------------
  66. This list is probably not comprehensive, but hopefully points out most of
  67. the features or areas where the implementation is incomplete (or not
  68. there at all).
  69.  
  70.  
  71. Limitations of Scene Files (*.lws)
  72. ----------------------------------
  73. 1) Bones/Skeleton
  74. Bones functionality is not implemented at all.  Unfortunately, this
  75. great feature of Lightwave 3D is not currently implementable in the
  76. loader because the processing time that it would take to compute
  77. frames based on Bones data would be far more than a real-time rendering
  78. system can afford.
  79.  
  80. The loader may, at some future point, provide a mechanism to read
  81. in frames of geometry that were saved from Lightwave Bones descriptions.
  82. That is, there are plug-ins available for Lightwave 3D that allow you
  83. to save out files with Bones information as a series of files with
  84. pre-calculated geometry for each frame; eventually we would like the
  85. Lightwave 3D loader to support those files.
  86.  
  87. Workaround: None; the best and only workaround is to find a different
  88. method of animating your objects.
  89.  
  90.  
  91. 2) Spline paths
  92. Spline paths will be interpreted as linear piecewise paths instead,
  93. traveling between each control point specified for the spline.
  94.  
  95. Workaround: Specify linear paths.  If your path looks too hard-jointed 
  96. through the loader, specify more keyframes for the path to smooth it out.
  97.  
  98.  
  99. 3) Object Scaling
  100. Scaling objects in the scene (versus the object files) is currently
  101. ignored.
  102.  
  103. Workaround: scale the objects in their individual object files.
  104.  
  105.  
  106. 4) Shadows
  107. Shadows options are ignored in the loader.
  108.  
  109. Workaround: None.
  110.  
  111.  
  112. 5) Envelopes
  113. Most envelopes are ignored.  There are a couple of exceptions to this,
  114. such as light intensity envelopes, but even those features have not been 
  115. completely implemented and tested.
  116.  
  117. Workaround: None.
  118.  
  119.  
  120. 6) Camera effects
  121. All advanced-rendering camera effects are ignored in the loader.  This
  122. includes the following items in Lightwave 3D files:
  123.     - Lens Flare
  124.     - F-stop
  125.     - Focal Distance
  126.     - Blur Length
  127.     - Dissolves
  128.     - Glow
  129.     - Zoom
  130.     - Intensity Falloff
  131.     - Antialiasing
  132.     
  133. Workaround: None.
  134.  
  135.  
  136. 7) Inverse Kinematics
  137. IK options such as Goal Objects and Anchors are ignored.
  138.  
  139. Workaround: Animate objects directly instead of indirectly via IK.
  140.  
  141.  
  142. 8) Morphs
  143. All morph options are ignored.
  144.  
  145. Workaround: None.
  146.  
  147.  
  148. 9) Display properties
  149. Lightwave allows you to specify surface properties for different rendering
  150. modes (e.g., wireframe color).  All of these parameters are ignored and
  151. the full properties of any item are used at all times.
  152.  
  153. Workaround: None.
  154.  
  155.  
  156. 10) Various Surface Properties
  157. Various minor surface properties are currently ignored, including:
  158.     - Polygon size
  159.     - Dissolves
  160.     - Clip map
  161.     - Unaffected by fog
  162.     - Edge parameters
  163.  
  164. Workaround: None.
  165.  
  166.  
  167. 11) Lights
  168. The following items are currently ignored for Light objects:
  169.     - Target objects
  170.     - Flare parameters
  171.     - Shadow options
  172.  
  173. Workaround: None for flares or shadows.  For targeting problems, animate the
  174. light directly (versus indirectly through using Target).
  175.  
  176.  
  177. 12) Camera Targeting
  178. The Target option for Camera objects is currently ignored by the loader.
  179.  
  180. Workaround: Animate the camera directly (versus indirectly through using
  181. Target).
  182.  
  183.     
  184. 13) Effects
  185. Most effects (from the Effects dialog box in the layout program) are
  186. ignored, save for fog (which should accept all parameters) and 
  187. backdrop colors (solid backdrops only - gradient backdrops are
  188. ignored).
  189.  
  190. Workaround: None.
  191.  
  192.  
  193. 14) Render Options
  194. Most options from the Render dialog box are ignored - most of these pertain 
  195. to saving the animation in any case (something that doesn't happen through
  196. the Loader).
  197.  
  198. Workaround: None.
  199.  
  200.  
  201.  
  202. Limitations of Object Files (*.lwo)
  203. -----------------------------------
  204. 1) MetaNURBS
  205. Geometry stored in MetaNURBS format will be ignored by the loader.
  206.  
  207. Workaround: pre-tessellate your MetaNURBS surfaces and save your
  208. geometry (object) files in that format.
  209.  
  210.  
  211. 2) Layered Object Files
  212. There is currently no support for the "Layered Object File Format" 
  213. of Lightwave 3D.
  214.  
  215. Workaround: None.
  216.  
  217.  
  218. 3) Reflectivity
  219. There is no way to reproduce the reflective properties of surfaces
  220. through Java3D, so any reflectivity settings in Lightwave object files 
  221. will be ignored.
  222.  
  223. Workaround: None.
  224.  
  225.  
  226. 4) Refraction
  227. Refractive properties of surfaces are ignored.
  228.  
  229. Workaround: None.
  230.  
  231.  
  232. 5) Edge Transparency
  233. Edge transparency properties are ignored.
  234.  
  235. Workaround.  None.
  236.  
  237.  
  238. 6) Texture types
  239. Texture mapping is currently somewhat limited in the loader.  The following
  240. types of texture mapping effects should work:
  241.     - Diffuse (the texture modifies the Diffuse aspects of the surface)
  242.     - Color (the texture modifies the Color properties of the surface).
  243. Textures that attempt to modify other parameters of the surface will
  244. be ignored.
  245.  
  246. Also, the following texture types should work:
  247.     - Planar Image Map
  248.     - Spherical Image Map
  249.     - Cylindrical Image Map
  250. Other kinds of mappings will not work (including Marble, Grid, Dots, etc.)
  251.  
  252. Some Texture parameters will not work.  The following should work correctly:
  253.     - size
  254.     - center
  255. Advanced texture parameters such as falloff and velocity will be ignored.
  256.  
  257. Summary: There are so many texture mapping parameters in Lightwave 3D that 
  258. it's difficult to produce a list of all of the items that won't work
  259. properly.  In a nutshell, basic decal-type (color modifying) or brightness
  260. (diffuse modifying) textures that are mapped as planes, spheres, or
  261. cylinders should work correctly.  Anything else will probably not work.
  262.  
  263. Workaround: Use the basics.
  264.  
  265.  
  266. 7) Plug-ins
  267. There is currently no support for any plug-in capabilities.  For example,
  268. if there are plug-in shaders specified for your file, those shaders will be
  269. ignored.
  270.  
  271. Workaround: None.
  272.  
  273.  
  274. 8) Image Sequences
  275. There is no support for image sequences - textures must be static files.
  276.  
  277. Workaround: None.
  278.  
  279.  
  280.